#定义功能界面
def info_print():
    print('请选择功能----------------')
    print('1、添加学员')
    print('2、删除学员')
    print('3、修改学员')
    print('4、查询学员')
    print('5、显示所有学员')
    print('6、退出系统')
    print('_' * 20)

# 定义全局变量用于存储所有学员信息
info = []


#添加学员信息的函数
def add_info():
    """添加学院函数"""
    # 1.用户输入：学号、姓名、手机号
    new_id = input("请输入学号：")
    new_name = input("请输入学姓名：")
    new_tel = input("请输入手机号：")

    # 2.判断是否添加这个学员：如果学员姓名已经存在则提示报错

    # 判断是否存在该学员
    global info
    #遍历列表查找是否有重名用户
    for i in info:
        if new_name == i['name']:
            print("用户已存在")
            #退出当前函数
            return

    # 学院不存在则添加  准备空字典
    info_dict = {}

    #字典新增数据
    info_dict['id'] = new_id
    info_dict['name'] = new_name
    info_dict['tel'] = new_tel
    # print(info_dict)
    info.append(info_dict)
    print(info)

#删除学员
def del_info():
    """删除学院"""
    # 1.输入要删除的名字
    del_name = input("请输入要删除的学员姓名： ")
    #2.判断学院是否存在：存在则删除，不存在则提示
    #3.声明info是全局变量
    global info
    #遍历列表
    for i in info:
        #判断学院是否存在
        if del_name == i['name']:
            #条件成立则移除
            info.remove(i)
            break
    else:
        print('该学员不存在')
    print(info)

#修改函数
def modify_info():
    """修改学员信息"""
    # 1.用户输入需要修改的学员信息的名字
    modify_name = input("请输入要修改的学员的姓名：")

    # 2.判断学院是否存在：存在则修改手机号，不存在则提示
    #声明info是全局
    global info
    #遍历列表
    for i in info:
        if modify_name == i['name']:
            #将tel这个key修改值，并终止次循环
            i['tel']=input("请输入新的手机号：")
            break
    else:
       print("该学员不存在")

    #3.打印全局变量info
    print(info)

#查询函数
def search_info():
    """查询学员"""
    #1.输入要查找的学员姓名
    search_name = input("请输入要查找的学员姓名：")
    #声明全局变量
    global info
    #检查这个学员是否存在  如果存在则打印，不存在则提示
    for i in info:
        if search_name == i['name']:
            print("查找到的学员信息如下：--------")
            print(f"该学员的学号是{i['id']},姓名是{i['name']},手机号是{i['tel']}")
            break
    else:
        print("该学员不存在")

#显示所有学员信息
def print_all():
    """显示所有学员信息"""
    #打印提示字
    print("学号\t姓名\t手机号")
    #打印所有学员数据
    for i in info:
        print(f"{i['id']}\t{i['name']}\t{i['tel']}")

#退出系统


#循环判断用户，直到用户输入6，才退出系统
while True:
     #1.调用函数 显示功能界面
     info_print()

     # 用户输入序号选择功能
     user_num = int(input('请输入功能序号：'))

     #3.按照用户输入的序号选择功能
     if user_num == 1:
         add_info()
     elif user_num == 2:
         del_info()
     elif user_num == 3:
         modify_info()
     elif user_num == 4:
         search_info()
     elif user_num == 5:
         print_all()
     elif user_num == 6:
            # print('推出')
         exit_flag=input("确定退出吗？yes or no：")
         if exit_flag == 'yes':
             break

     else:  #避免用户输入6以外的数字
        print("输入的功能序号有误")



